 package com.kdtech.analyse.Bbs;
import com.kdtech.crawler.at.UrlArgumentTop;
import com.kdtech.utils.DateUtils;
import com.kdtech.utils.DoMainUtils;
import com.kdtech.utils.HtmlCleaner;
import com.kdtech.utils.NumberUtils;

import org.apache.commons.lang.StringUtils;
 import org.jsoup.Jsoup;
 import org.jsoup.nodes.Document;

 import com.kdtech.crawler.CrawlHTML;
 import com.kdtech.entity.crawler.UrlMeta;
 import com.kdtech.entity.data.NewsMeta;
import com.kdtech.analyse.AnalyseNews;
import com.kdtech.utils.RegexUtils;

 /**
  *龙门论坛解析类
  */
 public class MimibangBbsAnalyse implements AnalyseNews{
 	
 	public boolean isDetailPage(String url) {
 		String[] regex = {
 				"http://www.mimibang.cc/club/article/[0-9]+"
 		};
 		return RegexUtils.matchAny(url, regex);
 	}

 	
 	public NewsMeta parserHtml(UrlMeta urlMeta) {
 		NewsMeta bbs = new NewsMeta();
 		if (urlMeta.getHtml() == null) {
 		}
 		String htmltxt = urlMeta.getHtml();
 		String url = urlMeta.getUrl();

 		bbs.setUrl(url);
 		String title = null;
 		String content = null;
 		Long date = null;
 		String commnetNum = null;
 		String clickNum = null;
 		String author = null;

 		Document doc = Jsoup.parse(htmltxt);
 		
 		String mainHtmltxt = StringUtils.substringAfter(htmltxt, "TempStr='");
 		title = doc.select("div.mod-head h1").text();
 		author=doc.select("font[color=#61B713]").text();
 		content =HtmlCleaner.getContentHtml(url, doc.select("div.mod-body"));
 		date=DateUtils.matchDate(doc.select("em.text-color-999").text());
 		
 		bbs.setTitle(title);
 		bbs.setContent(content);
 		bbs.setDate(date);
 		/**
 		 * 解析用于更新的地址
 		 */
 		bbs.setUpdateUrl(url);
 		bbs.setClickNum(NumberUtils.parseInt(clickNum));
 		bbs.setCommentNum(NumberUtils.parseInt(commnetNum));
 		bbs.setAuthor(author);
 		return bbs;
 	}

 	
 	
 	
 	public NewsMeta Update(NewsMeta meta) {
 		if(meta!=null){
 			String updateUrl = meta.getUpdateUrl();
 			if (StringUtils.isNotBlank(updateUrl)){
 				UrlMeta urlMeta = CrawlHTML.responseToURL(updateUrl);
 				return parserHtml(urlMeta);
 			}
 			return null;
 		}
 		return null;
 	}
 	
 	public static void main(String[] args) {
 		MimibangBbsAnalyse a = new MimibangBbsAnalyse();

 		String url = "http://www.mimibang.cc/club/article/125";
 		System.out.println(DoMainUtils.GetDomainName(url));
 		System.out.println(url);
 		if (!a.isDetailPage(url)) {
 			System.out.println("不匹配规则");
 		} else {
 			UrlMeta meta = CrawlHTML.responseToURL(url);
 			NewsMeta parserHtml = a.parserHtml(meta);
 			System.out.println(parserHtml);
// 			System.out.println(a.Update(parserHtml));
 		}
 	}
 }

